
/********************************************************************

Global header for OOPUtil namespace
The OOPUtil namespace contains some common utility classes to support other 
frameworks.

Write Date: 2011/03/23
Author: Deng Nianchen
>>>> Define OOPUtil namespace and 4 classes:
>>>> OOPException
>>>> NDVector
>>>> Ptr
>>>> Singleton
	
*********************************************************************/
#ifndef OOPUTILS_GLOBAL_H
#define OOPUTILS_GLOBAL_H


#ifndef _GLBASE_BEGIN
#define _GLBASE_BEGIN namespace GlBase {
#endif

#ifndef _GLBASE_END
#define _GLBASE_END }
#endif

#ifndef USE_NS_GLBASE
#define USE_NS_GLBASE using namespace GlBase;
#endif


#ifndef _OOPUTILS_BEGIN
#define _OOPUTILS_BEGIN namespace OOPUtils {
#endif



#ifndef _OOPUTILS_END
#define _OOPUTILS_END }
#endif



#pragma warning(disable: 4290)
#pragma warning(disable: 4074)
#pragma warning(disable: 4251)


#ifndef IN
#define IN
#endif
#ifndef OUT
#define OUT
#endif
#ifndef INOUT
#define INOUT
#endif

typedef unsigned int uint;


enum SupportFormat { GRAY_8, RGB_24, ARGB_32 };

#define _EXPORT_GLBASE_CLASS

// #ifndef PI
// #define PI 3.1415926535
// #endif

// #define PRINT_DEBUG_INFO

#define COM "com3"
#define SAND_TABLE_CONFIG "Configurations\\config.txt"
#define TERRAIN L"Resources\\world.jpg"
#define TERRAIN_TEXTURE L"Resources\\texture_world.jpg"
// xml to initialize OpenNI
#define SAMPLE_XML_PATH "Configurations\\Sample-Tracking.xml"

#endif